/*
 Problem Description
输入一个十进制数N，将它转换成R进制数输出。
Input
输入数据包含多个测试实例，每个测试实例包含两个整数N(32位整数)和R（2<=R<=16, R<>10）。
Output
为每个测试实例输出转换后的数，每个输出占一行。如果R大于10，则对应的数字规则参考16进制（比如，10用A表示，等等）。
Sample Input
7 2
23 12
-4 3
Sample Output
111
1B
-11
 */
package com.yuan.algorithms.training20150719;

import java.util.Scanner;

public class 进制转换 {

	static final char[] arr = {'A', 'B', 'C', 'D', 'E', 'F'};
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()) {
			int n = sc.nextInt();
			int mark = 0;
			if (n<0) {
				n = -n;
				mark = 1;
			}
			int r = sc.nextInt();
			StringBuffer sb = new StringBuffer();
			while(n!=0) {
				int t = n%r;
				if (t>9) {
					sb.append(arr[t-10]);
				} else {
					sb.append(t);
				}
				n = n/r;
			}
			if (mark == 1) {
				sb.append("-");
			}
			System.out.println(sb.reverse());
		}
	}

}
